[INFO] fetching crate rats 0.0.1...
[INFO] testing rats-0.0.1 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate rats 0.0.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate rats 0.0.1
[INFO] finished tweaking crates.io crate rats 0.0.1
[INFO] tweaked toml for crates.io crate rats 0.0.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rats 0.0.1 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 15 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-io-preview v0.2.2
[INFO] [stderr]   Downloaded futures-executor-preview v0.2.2
[INFO] [stderr]   Downloaded futures-channel-preview v0.2.2
[INFO] [stderr]   Downloaded futures-async-runtime-preview v0.2.3
[INFO] [stderr]   Downloaded futures-sink-preview v0.2.2
[INFO] [stderr]   Downloaded futures-stable-preview v0.2.3
[INFO] [stderr]   Downloaded futures-util-preview v0.2.2
[INFO] [stderr]   Downloaded futures-preview v0.2.2
[INFO] [stderr]   Downloaded futures-core-preview v0.2.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7712ac5cc5d1f23edb6cac02642846bbecdc6f53aa8c6831bc8c9c45ee0bf853
[INFO] running `Command { std: "docker" "start" "-a" "7712ac5cc5d1f23edb6cac02642846bbecdc6f53aa8c6831bc8c9c45ee0bf853", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7712ac5cc5d1f23edb6cac02642846bbecdc6f53aa8c6831bc8c9c45ee0bf853", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7712ac5cc5d1f23edb6cac02642846bbecdc6f53aa8c6831bc8c9c45ee0bf853", kill_on_drop: false }`
[INFO] [stdout] 7712ac5cc5d1f23edb6cac02642846bbecdc6f53aa8c6831bc8c9c45ee0bf853
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2ada60b7dd5f16fc8ed93140e3a69634399fb0a6fdd8b98a422f7a493862a1f
[INFO] running `Command { std: "docker" "start" "-a" "e2ada60b7dd5f16fc8ed93140e3a69634399fb0a6fdd8b98a422f7a493862a1f", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling futures-core-preview v0.2.3
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling futures-channel-preview v0.2.2
[INFO] [stderr]    Compiling futures-io-preview v0.2.2
[INFO] [stderr]    Compiling futures-sink-preview v0.2.2
[INFO] [stderr]    Compiling futures-util-preview v0.2.2
[INFO] [stderr]    Compiling futures-executor-preview v0.2.2
[INFO] [stderr]    Compiling futures-stable-preview v0.2.3
[INFO] [stderr]    Compiling futures-async-runtime-preview v0.2.3
[INFO] [stderr]    Compiling futures-preview v0.2.2
[INFO] [stderr]    Compiling rats v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::AndThen`
[INFO] [stdout]  --> src/instances/future.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::future::AndThen;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `applicative::Applicative`
[INFO] [stdout]  --> src/instances/result.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use applicative::Applicative;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `tool_attributes` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(tool_attributes)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/kind.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Future(Box<Future<Item = A, Error = B> + 'f_>),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Future(Box<dyn Future<Item = A, Error = B> + 'f_>),
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/kinds.rs:69:68
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<Future<Item=A, Error=B>>
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<dyn Future<Item=A, Error=B>>
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/kinds.rs:160:27
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn reify(self) -> Box<Future<Item = A, Error = B> + 'f_> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn reify(self) -> Box<dyn Future<Item = A, Error = B> + 'f_> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/kinds.rs:159:20
[INFO] [stdout]     |
[INFO] [stdout] 159 |     type Out = Box<Future<Item = A, Error = B> + 'f_>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     type Out = Box<dyn Future<Item = A, Error = B> + 'f_>;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ResultKindExt` is never used
[INFO] [stdout]   --> src/instances/result.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | trait ResultKindExt<'f_, A, B> {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OkExt` is never used
[INFO] [stdout]   --> src/instances/result.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | trait OkExt {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ErrExt` is never used
[INFO] [stdout]   --> src/instances/result.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | trait ErrExt {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/instances/future.rs:13:64
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<B,Z>
[INFO] [stdout]    |                                        ---                     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'f_`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<'f_, B,Z>
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ok<E>(&self) -> Kind<ResultKind, &Self, E>
[INFO] [stdout]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |         |                |
[INFO] [stdout]    |              |         |                the same lifetime is elided here
[INFO] [stdout]    |              |         the same lifetime is hidden here
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &Self, E>
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn err<E>(&self) -> Kind<ResultKind, E, &Self>
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |                   |
[INFO] [stdout]    |               |         |                   the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn err<E>(&self) -> Kind<'_, ResultKind, E, &Self>
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn ok<E>(&self) -> Kind<ResultKind, &A, E> {
[INFO] [stdout]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |         |                |
[INFO] [stdout]    |              |         |                the same lifetime is elided here
[INFO] [stdout]    |              |         the same lifetime is hidden here
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &A, E> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn err<A>(&self) -> Kind<ResultKind, A, &E> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |                   |
[INFO] [stdout]    |               |         |                   the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn err<A>(&self) -> Kind<'_, ResultKind, A, &E> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/kind.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn as_kind(&self) -> Kind<F_, &A, &B>;
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                |         |        |   |
[INFO] [stdout]    |                |         |        |   the same lifetime is elided here
[INFO] [stdout]    |                |         |        the same lifetime is elided here
[INFO] [stdout]    |                |         the same lifetime is hidden here
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn as_kind(&self) -> Kind<'_, F_, &A, &B>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.41s
[INFO] running `Command { std: "docker" "inspect" "e2ada60b7dd5f16fc8ed93140e3a69634399fb0a6fdd8b98a422f7a493862a1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2ada60b7dd5f16fc8ed93140e3a69634399fb0a6fdd8b98a422f7a493862a1f", kill_on_drop: false }`
[INFO] [stdout] e2ada60b7dd5f16fc8ed93140e3a69634399fb0a6fdd8b98a422f7a493862a1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64229d9ea49149b2b2aab2352d04ab8560213bbc68d3baacbc8294f248ad3395
[INFO] running `Command { std: "docker" "start" "-a" "64229d9ea49149b2b2aab2352d04ab8560213bbc68d3baacbc8294f248ad3395", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::AndThen`
[INFO] [stdout]  --> src/instances/future.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::future::AndThen;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `applicative::Applicative`
[INFO] [stdout]  --> src/instances/result.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use applicative::Applicative;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `tool_attributes` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(tool_attributes)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/kind.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Future(Box<Future<Item = A, Error = B> + 'f_>),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Future(Box<dyn Future<Item = A, Error = B> + 'f_>),
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/kinds.rs:69:68
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<Future<Item=A, Error=B>>
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<dyn Future<Item=A, Error=B>>
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/kinds.rs:160:27
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn reify(self) -> Box<Future<Item = A, Error = B> + 'f_> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn reify(self) -> Box<dyn Future<Item = A, Error = B> + 'f_> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/kinds.rs:159:20
[INFO] [stdout]     |
[INFO] [stdout] 159 |     type Out = Box<Future<Item = A, Error = B> + 'f_>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     type Out = Box<dyn Future<Item = A, Error = B> + 'f_>;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ResultKindExt` is never used
[INFO] [stdout]   --> src/instances/result.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | trait ResultKindExt<'f_, A, B> {
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OkExt` is never used
[INFO] [stdout]   --> src/instances/result.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | trait OkExt {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ErrExt` is never used
[INFO] [stdout]   --> src/instances/result.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | trait ErrExt {
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/instances/future.rs:13:64
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<B,Z>
[INFO] [stdout]    |                                        ---                     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'f_`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<'f_, B,Z>
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ok<E>(&self) -> Kind<ResultKind, &Self, E>
[INFO] [stdout]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |         |                |
[INFO] [stdout]    |              |         |                the same lifetime is elided here
[INFO] [stdout]    |              |         the same lifetime is hidden here
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &Self, E>
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rats v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn err<E>(&self) -> Kind<ResultKind, E, &Self>
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |                   |
[INFO] [stdout]    |               |         |                   the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn err<E>(&self) -> Kind<'_, ResultKind, E, &Self>
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn ok<E>(&self) -> Kind<ResultKind, &A, E> {
[INFO] [stdout]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |         |                |
[INFO] [stdout]    |              |         |                the same lifetime is elided here
[INFO] [stdout]    |              |         the same lifetime is hidden here
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &A, E> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn err<A>(&self) -> Kind<ResultKind, A, &E> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |                   |
[INFO] [stdout]    |               |         |                   the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn err<A>(&self) -> Kind<'_, ResultKind, A, &E> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/kind.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn as_kind(&self) -> Kind<F_, &A, &B>;
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                |         |        |   |
[INFO] [stdout]    |                |         |        |   the same lifetime is elided here
[INFO] [stdout]    |                |         |        the same lifetime is elided here
[INFO] [stdout]    |                |         the same lifetime is hidden here
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn as_kind(&self) -> Kind<'_, F_, &A, &B>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(specialization)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stdout]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stdout]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::AndThen`
[INFO] [stdout]  --> src/instances/future.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::future::AndThen;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future`
[INFO] [stdout]   --> src/instances/option.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         use futures::future;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::future::FutureResult`
[INFO] [stdout]   --> src/instances/option.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         use futures::future::FutureResult;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `applicative::Applicative`
[INFO] [stdout]  --> src/instances/result.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use applicative::Applicative;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `tool_attributes` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(tool_attributes)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/kind.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Future(Box<Future<Item = A, Error = B> + 'f_>),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Future(Box<dyn Future<Item = A, Error = B> + 'f_>),
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/kinds.rs:69:68
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<Future<Item=A, Error=B>>
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<dyn Future<Item=A, Error=B>>
[INFO] [stdout]    |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/kinds.rs:160:27
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn reify(self) -> Box<Future<Item = A, Error = B> + 'f_> {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn reify(self) -> Box<dyn Future<Item = A, Error = B> + 'f_> {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/kinds.rs:159:20
[INFO] [stdout]     |
[INFO] [stdout] 159 |     type Out = Box<Future<Item = A, Error = B> + 'f_>;
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     type Out = Box<dyn Future<Item = A, Error = B> + 'f_>;
[INFO] [stdout]     |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/instances/future.rs:13:64
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<B,Z>
[INFO] [stdout]    |                                        ---                     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'f_`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<'f_, B,Z>
[INFO] [stdout]    |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ok<E>(&self) -> Kind<ResultKind, &Self, E>
[INFO] [stdout]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |         |                |
[INFO] [stdout]    |              |         |                the same lifetime is elided here
[INFO] [stdout]    |              |         the same lifetime is hidden here
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &Self, E>
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:49:15
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn err<E>(&self) -> Kind<ResultKind, E, &Self>
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |                   |
[INFO] [stdout]    |               |         |                   the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn err<E>(&self) -> Kind<'_, ResultKind, E, &Self>
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn ok<E>(&self) -> Kind<ResultKind, &A, E> {
[INFO] [stdout]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |              |         |                |
[INFO] [stdout]    |              |         |                the same lifetime is elided here
[INFO] [stdout]    |              |         the same lifetime is hidden here
[INFO] [stdout]    |              the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &A, E> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instances/result.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn err<A>(&self) -> Kind<ResultKind, A, &E> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |                   |
[INFO] [stdout]    |               |         |                   the same lifetime is elided here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn err<A>(&self) -> Kind<'_, ResultKind, A, &E> {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/kind.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn as_kind(&self) -> Kind<F_, &A, &B>;
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                |         |        |   |
[INFO] [stdout]    |                |         |        |   the same lifetime is elided here
[INFO] [stdout]    |                |         |        the same lifetime is elided here
[INFO] [stdout]    |                |         the same lifetime is hidden here
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn as_kind(&self) -> Kind<'_, F_, &A, &B>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] running `Command { std: "docker" "inspect" "64229d9ea49149b2b2aab2352d04ab8560213bbc68d3baacbc8294f248ad3395", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64229d9ea49149b2b2aab2352d04ab8560213bbc68d3baacbc8294f248ad3395", kill_on_drop: false }`
[INFO] [stdout] 64229d9ea49149b2b2aab2352d04ab8560213bbc68d3baacbc8294f248ad3395
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f536dfd11f9324a2b24ba925e4a299494e75e97097ca6ee67b6e9771648f4f76
[INFO] running `Command { std: "docker" "start" "-a" "f536dfd11f9324a2b24ba925e4a299494e75e97097ca6ee67b6e9771648f4f76", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stderr]  --> src/lib.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![feature(specialization)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stderr]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stderr]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::future::AndThen`
[INFO] [stderr]  --> src/instances/future.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::future::AndThen;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `applicative::Applicative`
[INFO] [stderr]  --> src/instances/result.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use applicative::Applicative;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the feature `tool_attributes` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/lib.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | #![feature(tool_attributes)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/kind.rs:16:16
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Future(Box<Future<Item = A, Error = B> + 'f_>),
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Future(Box<dyn Future<Item = A, Error = B> + 'f_>),
[INFO] [stderr]    |                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/kinds.rs:69:68
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<Future<Item=A, Error=B>>
[INFO] [stderr]    |                                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl<'f_, A: 'f_, B: 'f_>  IntoKind<'f_, FutureKind, A, B> for Box<dyn Future<Item=A, Error=B>>
[INFO] [stderr]    |                                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/kinds.rs:160:27
[INFO] [stderr]     |
[INFO] [stderr] 160 |     fn reify(self) -> Box<Future<Item = A, Error = B> + 'f_> {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 160 |     fn reify(self) -> Box<dyn Future<Item = A, Error = B> + 'f_> {
[INFO] [stderr]     |                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/kinds.rs:159:20
[INFO] [stderr]     |
[INFO] [stderr] 159 |     type Out = Box<Future<Item = A, Error = B> + 'f_>;
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 159 |     type Out = Box<dyn Future<Item = A, Error = B> + 'f_>;
[INFO] [stderr]     |                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ResultKindExt` is never used
[INFO] [stderr]   --> src/instances/result.rs:26:7
[INFO] [stderr]    |
[INFO] [stderr] 26 | trait ResultKindExt<'f_, A, B> {
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `OkExt` is never used
[INFO] [stderr]   --> src/instances/result.rs:42:7
[INFO] [stderr]    |
[INFO] [stderr] 42 | trait OkExt {
[INFO] [stderr]    |       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ErrExt` is never used
[INFO] [stderr]   --> src/instances/result.rs:48:7
[INFO] [stderr]    |
[INFO] [stderr] 48 | trait ErrExt {
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/instances/future.rs:13:64
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<B,Z>
[INFO] [stderr]    |                                        ---                     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                        |
[INFO] [stderr]    |                                        the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'f_`
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn map<'f_, Fn_, A, B>(fa: FutureK<'f_, A,Z>, fn_: Fn_) -> FutureK<'f_, B,Z>
[INFO] [stderr]    |                                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/instances/result.rs:43:14
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn ok<E>(&self) -> Kind<ResultKind, &Self, E>
[INFO] [stderr]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |              |         |                |
[INFO] [stderr]    |              |         |                the same lifetime is elided here
[INFO] [stderr]    |              |         the same lifetime is hidden here
[INFO] [stderr]    |              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &Self, E>
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/instances/result.rs:49:15
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn err<E>(&self) -> Kind<ResultKind, E, &Self>
[INFO] [stderr]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |               |         |                   |
[INFO] [stderr]    |               |         |                   the same lifetime is elided here
[INFO] [stderr]    |               |         the same lifetime is hidden here
[INFO] [stderr]    |               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |     fn err<E>(&self) -> Kind<'_, ResultKind, E, &Self>
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/instances/result.rs:58:14
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn ok<E>(&self) -> Kind<ResultKind, &A, E> {
[INFO] [stderr]    |              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |              |         |                |
[INFO] [stderr]    |              |         |                the same lifetime is elided here
[INFO] [stderr]    |              |         the same lifetime is hidden here
[INFO] [stderr]    |              the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn ok<E>(&self) -> Kind<'_, ResultKind, &A, E> {
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/instances/result.rs:65:15
[INFO] [stderr]    |
[INFO] [stderr] 65 |     fn err<A>(&self) -> Kind<ResultKind, A, &E> {
[INFO] [stderr]    |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |               |         |                   |
[INFO] [stderr]    |               |         |                   the same lifetime is elided here
[INFO] [stderr]    |               |         the same lifetime is hidden here
[INFO] [stderr]    |               the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 65 |     fn err<A>(&self) -> Kind<'_, ResultKind, A, &E> {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/kind.rs:38:16
[INFO] [stderr]    |
[INFO] [stderr] 38 |     fn as_kind(&self) -> Kind<F_, &A, &B>;
[INFO] [stderr]    |                ^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                |         |        |   |
[INFO] [stderr]    |                |         |        |   the same lifetime is elided here
[INFO] [stderr]    |                |         |        the same lifetime is elided here
[INFO] [stderr]    |                |         the same lifetime is hidden here
[INFO] [stderr]    |                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 38 |     fn as_kind(&self) -> Kind<'_, F_, &A, &B>;
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::future`
[INFO] [stderr]   --> src/instances/option.rs:77:13
[INFO] [stderr]    |
[INFO] [stderr] 77 |         use futures::future;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::future::FutureResult`
[INFO] [stderr]   --> src/instances/option.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |         use futures::future::FutureResult;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rats` (lib) generated 17 warnings (run `cargo fix --lib -p rats` to apply 12 suggestions)
[INFO] [stderr] warning: `rats` (lib test) generated 16 warnings (14 duplicates) (run `cargo fix --lib -p rats --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rats-1c9d610bb2191fce)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test function_k::test ... ok
[INFO] [stdout] test instances::id::tests::test_applicative ... ok
[INFO] [stdout] test functor::tests::test_consuming_a_functor ... ok
[INFO] [stdout] test instances::id::tests::test_functor ... ok
[INFO] [stdout] test instances::option::tests::test_option_product ... ok
[INFO] [stdout] test instances::result::tests::test_result_function_k ... ok
[INFO] [stdout] test instances::option::tests::test_option_pure ... ok
[INFO] [stdout] test instances::result::tests::test_result_functor ... ok
[INFO] [stdout] test instances::vec::tests::test_traverse ... ok
[INFO] [stdout] test instances::vec::tests::test_fold_right ... ok
[INFO] [stdout] test instances::vec::tests::test_with_mut_refs ... ok
[INFO] [stdout] test instances::vec::tests::test_vec_map_from_functor_1 ... ok
[INFO] [stdout] test instances::vec::tests::test_with_refs ... ok
[INFO] [stdout] test tests::bench_vec_map_from_functor_amortized_ints ... ok
[INFO] [stdout] test tests::bench_vec_map_from_functor ... ok
[INFO] [stdout] test kinds::tests::tests ... ok
[INFO] [stdout] test tests::bench_vec_map_native ... ok
[INFO] [stdout] test tests::bench_option_to_vec_native ... ok
[INFO] [stdout] test tests::bench_vec_map_native_amortized_strings ... ok
[INFO] [stdout] test tests::bench_vec_map_native_amortized_ints ... ok
[INFO] [stdout] test instances::future::tests::future_functor_test ... ok
[INFO] [stdout] test tests::bench_option_map_kind ... ok
[INFO] [stdout] test instances::option::tests::test_kind_tupler ... ok
[INFO] [stdout] test tests::bench_vec_map_from_functor_amortized_strings ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rats
[INFO] [stderr] warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
[INFO] [stderr]  --> src/lib.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![feature(specialization)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
[INFO] [stderr]   = help: consider using `min_specialization` instead, which is more stable and complete
[INFO] [stderr]   = note: `#[warn(incomplete_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f536dfd11f9324a2b24ba925e4a299494e75e97097ca6ee67b6e9771648f4f76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f536dfd11f9324a2b24ba925e4a299494e75e97097ca6ee67b6e9771648f4f76", kill_on_drop: false }`
[INFO] [stdout] f536dfd11f9324a2b24ba925e4a299494e75e97097ca6ee67b6e9771648f4f76
